package com.zh.media.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zh.media.domain.dto.AuditVideoDto;
import com.zh.media.domain.dto.PageVideoDto;
import com.zh.media.domain.dto.UpdateVideoDto;
import com.zh.media.domain.dto.UpdateWorkInfoDto;
import com.zh.web.base.PageApiResult;
import com.zh.web.domain.media.vo.VideoVo;
import com.zh.web.domain.media.entity.Video;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zh
 * @since 2024-10-02
 */
public interface VideoService extends IService<Video> {

    String deleteVideoById(Long id);

    String uploadVideo(Video video,MultipartFile file);

    String updateVideo(UpdateVideoDto updateVideoDto);

    VideoVo getDetail(Long id, HttpServletRequest request);

    PageApiResult<VideoVo> pageVideo(PageVideoDto pageVideoDto);

    List<VideoVo> listVideoVoByIds(List<Long> ids);

    List<VideoVo> listVideoAfterTime(LocalDateTime time);

    String statusVideo(AuditVideoDto auditVideoDto);

    String praiseVideo(UpdateWorkInfoDto updateWorkInfoDto);

    String collectVideo(UpdateWorkInfoDto updateWorkInfoDto);

    Integer updateView(UpdateWorkInfoDto updateWorkInfoDto);

    Integer updateShare(UpdateWorkInfoDto updateWorkInfoDto);
}
